Supporting aspect-oriented software development with the Concern Manipulation Environment
نویسندگان
چکیده
componentsThe CME architecture is illustrated in Figure 4.Abstract components, introduced in bold italics inthe text, are the first-order open-points of the CMEarchitecture. Each plays a distinct role in realizingthe extraction/composition cycle. These compo-nents are described by their APIs (applicationprogramming interfaces), and their implementationsdepend only on the APIs of the other components.Abstract factories are used to shield clients and othercomponents from knowledge of the implementationclass structure within a component. The CME alsoincludes concrete instances of these components toprovide both basic functionality and examples ofimplementation. The initial set of concrete compo-nents in the Eclipse project are themselves generallydesigned to be extended with strategies and plug-ins, giving rise to a second-order set of open-points. This paper can describe neither the concretecomponents nor the strategies and plug-in oppor-tunities they present in great detail. However, suchdetails can be found in the collection of researchreports comprising References11–14. Support for manipulation of concern-structuredsoftware in the CME corresponds to the extraction/composition cycle discussed previously. The Con-cern Manager component, shown in Figure 4,provides a starting point for discussion. The Con-cern Manager is the (abstract) component used tohold and manipulate a model that identifies con-cerns and describes both the units of software theycontain and their relationships. Units representsoftware artifacts, like classes, methods, or UML**(Unified Modeling Language) diagrams. Concernshere are groups of concern model elements, listedexplicitly (extensionally) or specified as queries(intensionally). Relationships can be derived fromsoftware artifacts, such as references or depen-dencies, or inserted by tools, for example, in casesFigure 4Partial CME component architectureSpecialized Loaders AspectJCIT/CAT APIArtifacts
منابع مشابه
Working with Implicit Concerns in the Concern Manipulation Environment Position Paper AOSD ’05 Workshop on Linking Aspect Technology and Evolution (LATE)
Existing bodies of software contain many implicit concerns – concerns that are not separated, or even identified, in the artifacts. These concerns are, nonetheless, important for understanding and working with the software. Different sets of concerns are important for different development activities. Even in the case of aspect-oriented software, with its richer capabilities for making concerns...
متن کاملSystematic text-mining approach for deriving aspects and patterns from domain knowledge
As the theoretical underpinnings of aspect-orientation mature, its application across the software lifecycle has expanded. An active area of research focuses on the application of aspect oriented techniques to unstructured or semi-structured requirements documents. In this context, primary issues involve the identification of early aspects and various forms of aspectual manipulation (e.g., weav...
متن کاملA Systematic Aspect-Oriented Refactoring and Testing Strategy, and its Application to JHotDraw
Aspect oriented programming aims at achieving better modularization for a system’s crosscutting concerns in order to improve its key quality attributes, such as evolvability and reusability. Consequently, the adoption of aspect-oriented techniques in existing (legacy) software systems is of interest to remediate software aging. The refactoring of existing systems to employ aspectorientation wil...
متن کاملA Comparative Analysis of Meta-programming and Aspect-Orientation
This paper presents an investigation into language constructs for supporting improved separation of crosscutting concerns. Traditionally, this separation has been performed using metaprogramming and other related techniques. A growing area of research, called aspect-oriented software development, offers a new approach. We describe several distinctive characteristics of the two approaches with r...
متن کاملConcern Hierarchies
About 30 years ago the pioneers of family-based software development invented very useful models. Today we would describe them as models that help software engineers to bridge the gap between variable requirements and the reference architecture of a product line platform. This is one of the key challenges in product line engineering. In this paper we revisit one of these models, namely the func...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- IBM Systems Journal
دوره 44 شماره
صفحات -
تاریخ انتشار 2005